/**
* 校验类
* 校验数据格式
*/
var checkClass = {
  /**
  * 中文验证
  */
  checkChinese: function(value){
    // Unicode编码中的汉字范围
    let reg = /^[\u2E80-\u9FFF]+$/
    if(reg.test(value)){
        return {flag: true}
    }
    return {flag: false, error: "只能输入汉字"}
  },
  /**
  * 数字和字母验证
  */
  checkNumAndLetters: function(value) {
    let reg = /^[0-9a-zA-Z]*$/g
    if(reg.test(value)){
        return {flag: true}
    }
    return {flag: false, error: "只能输入数字和字母"}
  },
  /**
  * 数字验证
  */
  checkNum: function(value) {
    let reg = /^[0-9]*$/g
    if(reg.test(value)){
        return true
    }
    return false
  },
  /**
  * 12位纯数字验证
  */
  checkNums: function(value) {
    let reg = /^\d{12}$/g
    if(reg.test(value)){
        return {flag: true}
    }
    return {flag: false, error: "请输入12位纯数字"}
  },
  /**
  * 整数
  */
 checkInteger: function(value) {
    let reg = /^-?\d+$/
    if(reg.test(value)){
        return true
    }
    return false
  },
  /**
  * 正浮点数
  */
 checkNums: function(value) {
    let reg = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/
    if(reg.test(value)){
        return true
    }
    return false
  },
  /**
  * 手机号码验证
  */
  checkTel: function(value) {
    let reg = /^1[3|4|5|6|7|8|9][0-9]{9}$/g
    if (reg.test(value) ) {
        return {flag:true}
    }
    return {flag:false,error:"请输入正确的手机号"}
  },
  /**
  * 固定电话验证
  */
   checkTelNum: function(value){
    let reg = /^\d{3,4}-\d{7,8}(-\d{1,6})?$/g;     
    if (reg.test(value) ) {
        return {flag:true}
    }
    return {flag:false,error:"请输入正确的座机号"}
  },
  /**
  * 输入框长度验证
  */
  length: function(str,len){
    if(str.length<=len){
        return {flag:true}
    }
    return {flag:false,error:"次wenben只能输入"}
  },
  /**
  * 非空验证
  * @value
  * @isNum 是否要进行数字验证【true:不进行验证, false:默认进行所有类型验证】 
  */
  checkEmpty: function(value, isNum){
    if(value == undefined || value == "undefined" || (!isNum && !value)){
        return false
    }
    value+=""
    if(value && value.trim().length > 0){
        return true
    }
    return false
  }

}
export {checkClass};

// 1.非负整数         /^\d+$/

// 2.正整数            /^[0-9]*[1-9][0-9]*$/

// 3.非正整数        /^((-\d+)|(0+))$/

// 4.负整数            /^-[0-9]*[1-9][0-9]*$/

// 5.整数               /^-?\d+$/

// 6.非负浮点数     /^\d+(\.\d+)?$/

// 7.正浮点数        /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/

// 8.非正浮点数     /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/

// 9.负浮点数         /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/

// 10.浮点数          /^(-?\d+)(\.\d+)?$/

// 11.数字              /^\d+(\.{1}\d+)?$/

// 12.由26个英文字母组成的字符串                     /^[A-Za-z]+$/

// 13.由26个英文字母的大写组成的字符串           /^[A-Z]+$/

// 14.由26个英文字母的小写组成的字符串           /^[a-z]+$/

// 15.由数字和26个英文字母组成的字符串           /^[A-Za-z0-9]+$/

// 16.由数字、26个英文字母或者下划线组成的字符串             /^\w+$/

// 17.匹配所有单字节长度的字符组成的字符串                        /^[\x00-\xff]+$/

// 18.匹配所有双字节长度的字符组成的字符串                        /^[^\x00-\xff]+$/

// 19.字符串是否含有双字节字                                                 /[^\x00-\xff]+/

// 20.email地址             /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/

//      或者                      /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/

// 21.url地址                 /^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/

//      或者                      /http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?/

// 22.匹配中文字符的正则             /[u4e00-u9fa5]/

// 23.匹配双字节字符(包括汉字在内)             /[^x00-xff]/

//           应用：计算字符串的长度(一个双字节字符长度计2，ASCII字符计1)
//              String.prototype.len=function(){
//                  return this.replace([^x00-xff]/g,"aa").length;
//              }

// 24.匹配空行的正则              /n[s| ]*r/

// 25.匹配HTML标记的正则             /<(.*)>.*</1>|<(.*) />/

// 26.匹配首尾空格的正则               /(^s*)|(s*$)/